import store from "../../store/store";
import $ from "jquery";
import {url} from "../../util/config";
import {success,error} from "../../util/responseStatus";
import {message} from "antd";
import login from "../login";
let exception = error

function getNewLogin(moduleId,type){
    return getFiles(moduleId,type)
}

export default function getFiles(moduleId,type) {
//    type:file-d or folder
//    通过 moduleId，type 对 file表/article表或者folder表作匹配
//    获得数组对象并返还
//    接口引用位置：ModuleManage.js 、FilePage.js
    let getFile = [];
    let manageFlag = null;
    //之前是根据store的status状态值来判断是否更新，因为那是前端自己需要做刷新，现在刷新交给后端完成
    let token = localStorage.getItem("token")
    $.ajax({
        async:false,
        headers: {
            'Accept': "application/json",
            'Authorization': token
        },
        url: url.api_url+`FileList/GetFileList?module_id=${moduleId}&type=${type}`,
        type: 'GET',
        success: function (result) {
            if(result.result=="Token過期請重新登錄") {
                login(localStorage.getItem("account"), localStorage.getItem("password"));
                let tmp = getNewLogin(moduleId,type)
                getFile = tmp.getFile;
                manageFlag = tmp.manageFlag;
            }else {
                if(result.result!="no permission"){
                    getFile = result.result.ARR.map(item => {
                        return {
                            // fileAttachementNum:null,
                            // fileContent:null,
                            // fileDesc:null,
                            new:item.NOTIFY_DATE,
                            fileId:item.FILE_ID,
                            // fileLookNum:null,
                            fileName:item.FILE_NAME,
                            // fileTitle:null,
                            fileType:item.FILE_TYPE,
                            status:item.TOP_STATUS,
                            createUser:item.CREATE_USER,
                            createTime:item.CREATE_DATE,
                            updateUser:item.UPDATE_USER,
                            updateTime:item.UPDATE_DATE,
                        }
                    })
                    manageFlag = result.result.MANAGE_FLAG;
                }else {
                    getFile = result.result;
                    manageFlag = false;
                }
                JSON.stringify(sessionStorage.setItem("getFile",JSON.stringify(getFile)))
            }
        },
        error:function (error) {
            message.error("请求异常")
        }
    })
    return {
        getFile,
        manageFlag
    };
}

